/**
 * 
 */
package ar.rhok.yerbus.core.services;

import ar.rhok.yerbus.core.domain.Need;
import ar.rhok.yerbus.core.domain.Request;

/**
 * @author Mauro Monti
 * 
 */
public interface NeedService {

	/**
	 * @param pName
	 * @return
	 */
	Need createNeed(Long pEntityId, String pDescription);

	/**
	 * @param pNeedId
	 * @param pDescription
	 * @param pFeedbackMessage TODO
	 * @return
	 */
	Request createRequest(Long pNeedId, String pDescription, String pFeedbackMessage);

	/**
	 * @param pIdRequest
	 * @param pUserId
	 */
	void userAcceptRequest(Long pIdRequest, Long pUserId);
	
	/**
	 * @param pIdRequest
	 * @param pUserId
	 */
	void requestCompleted(Long pIdRequest, Long pUserId);

}
